package com.xyy.saas.payment.cores.vo;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 企业开户
 */
@Getter
@Setter
public class MerchantAccountCreateVo implements Serializable {
    private static final long serialVersionUID = -5630579520251948929L;

    /**
     * 客户类型
     */
    private String customerType;
    /**
     * 企业证件照片
     */
    private String businessCertPicUrl;

    /**
     * 法人身份证正面
     */
    private String idCardFrontUrl;

    /**
     * 法人身份证背面
     */
    private String idCardBackUrl;
    /**
     * 门头照
     */
    private String businessLocationUrl;
    /**
     * 开户许可证照片
     */
    private String openAccountLicenceUrl;
    /**
     * 开户许可证编号
     */
    private String openAccountLicenceNo;

    /**
     * 图片格式。 可选：png、jpg
     */
    @Deprecated
    private String picFmt;

    /**
     * 接口调用方的业务类型, 支付平台分配
     */
    private String businessIdType;

    /**
     * 接口调用方的用户id
     */
    private String businessUserId;

    /**
     * 账户渠道选择 目前仅支持aggregate
     */
    private String accountChannel;

    /**
     * 联系人信息 查看ContactInfoVo
     */
    private List<ContactInfo> contactInfos;

    /**
     * 股东信息 最多传5个
     */
    private List<ShareHolderInfoVo> shareHolderInfos;

    /**
     * 受益人信息 最多传5个
     */
    private List<BeneficiaryInfoVo> beneficiaryInfos;

    /**
     * 公司名称
     */
    private String name;

    /**
     * 开户手机号
     */
    private String mobile;

    /**
     * 经营地址省
     */
    private String businessProvince;
    /**
     * 经营地址市
     */
    private String businessCity;
    /**
     * 经营地址区/县
     */
    private String businessDistrict;
    /**
     * 经营详细地址
     */
    private String businessAddress;
    /**
     * 办公地址
     */
    @Deprecated
    private String address;

    /**
     * 证件号码/营业执照号
     */
    private String cardId;

    /**
     * 证件起始日期，格式：yyyy-mm-dd
     */
    private String validFrom;

    /**
     * 证件结束日期，格式：yyyy-mm-dd
     */
    private String validUntil;

    /**
     * 行业
     */
    @Deprecated
    private String industry;

    /**
     * 提现卡号
     */
    private String account;

    /**
     * 提现户名
     */
    private String settleName;

    /**
     * 预留手机号
     */
    @Deprecated
    private String settleMobile;

    /**
     * 银行名称
     */
    private String openBank;
    /**
     * 银行编号
     */
    private String openBankCode;

    /**
     * 银行卡号/账户类型
     */
    private String cardType;

    /**
     * 支行名称
     */
    private String subBank;

    /**
     * 支行行号
     */
    private String subBankCode;

    /**
     * 企业类型/商户类型
     */
    private String merchantCategory;

    /**
     * 企业联系电话
     */
    private String enterprisePhone;

    /**
     * 结算用户创建成功通知地址
     */
    private String callbackAddress;

    /**
     * 业务内部用户名称
     */
    @Deprecated
    private String businessUserName;

    /**
     * 额外参数 map 转 json 格式
     * ******************************
     * 富民需要手机验证码
     * key: activeCode
     * ******************************
     */
    private String extra;

    /**
     * 授权人/管理员/联系人
     */
    private OperatorInfo operatorInfo;
    /**
     * 银行卡类型
     * PUBLIC 对公
     * PRIVATE 对私
     */
    private String bankCardType = "PUBLIC";

    /**
     * 老的业务商户编号，荷叶洗数据用
     */
    private String oldBusinessUserId;
}
